<?php

class Tarjeta extends CI_Controller {

    function __construct() {
        // Call the Model constructor
        parent::__construct();
        if ($sessionData = $this->session->userdata('datosUser')) {
            $this->lang->load($sessionData['idioma'], $sessionData['idioma']);
            $this->clear_cache();
        } else {
            redirect('frontend/login/login');
        }
    }

    function clear_cache() {
        $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0");
        $this->output->set_header("Pragma: no-cache");
    }

    /**
     * Carga la página principal del módulo tarjeta
     */
    public function index() {
        $sessionData = $this->session->userdata('datosUser');
        $this->load->model('backend/tarjeta/mtarjeta');
        $cuentas = $this->mtarjeta->obtenerCuentas($sessionData['idCliente']);
        $arrayTarjetas = array();
        foreach ($cuentas as $c) {
            $arrayTarjetas[$c->id] = $this->mtarjeta->listadoTarjetas($sessionData['idCliente'], $c->id);
        }
        $data['tarjetas'] = $arrayTarjetas;
        $data['cuentas'] = $cuentas;
        $this->cargamenu->cargaTodo('backend/tarjeta/consulta', $data);
    }

    /**
     * Busca las tarjetas que tiene el cliente logeado y las lista.
     */
    public function consultarTarjetas() {
        $sessionData = $this->session->userdata('datosUser');
        $this->load->model('backend/cuenta/mcuenta');
        $data['misCuentas'] = $this->mcuenta->misCuentas($sessionData['idCliente']);
        $this->load->model('backend/tarjeta/mtarjeta');
        $data['tarjetas'] = $this->mtarjeta->obtenerTarjetas($this->input->post('cuenta'));
        $array = array('backend/tarjeta/consulta', 'backend/tarjeta/listadoTarjetas');
        $this->cargamenu->cargaVistas($array, $data);
    }

    /**
     * Carga la página para realizar una solicitud de tarjeta
     */
    public function solicitud() {
        $sessionData = $this->session->userdata('datosUser');
        $this->load->model('backend/cuenta/mcuenta');
        $data['misCuentas'] = $this->mcuenta->misCuentas($sessionData['idCliente']);
        $this->cargamenu->cargaTodo('backend/tarjeta/solicitud', $data);
    }

    /**
     * Realiza la solicitud de una tarjeta, generar una notificacion y redirige a la página de solicitudes
     */
    public function solicitarTarjeta() {
        $sessionData = $this->session->userdata('datosUser');
        $this->load->model('backend/tarjeta/mtarjeta');
        $this->mtarjeta->solicitarTarjeta($this->input->post('cuenta'), $sessionData['idCliente']);
        $this->load->model('backend/notificacion/mnotificacion');
        $data['text'] = lang('solicitudEmitida') . " " . lang('tarj');
        $data['idCliente'] = $sessionData['idCliente'];
        $data['asunto'] = lang('titSolicitudTarj');
        $this->mnotificacion->insertarNotificacion($data);
        redirect('backend/solicitud/solicitud');
    }

}

